#include "bsp_cd4051.h"
/*************************************************************
函数名称：bsp_cd4051_init
函数参数：无
函数返回：无
函数功能：初始化75HC165的相关IO口
其他解释：无
**************************************************************/
void bsp_cd4051_init(void)
{
//	#define  A0_154_120   (1ul<<20)
//#define  A1_154_121   (1ul<<21)
//#define  A2_154_122   (1ul<<22)
//#define  A3_154_123   (1ul<<23)
//#define		RE_127			(1ul<<27)
//#define		LE_128			(1ul<<28)
	//PL	普通IO		输出	P0.0	高有效		低载入
	//CLK	普通IO		输出	P1.29	上升沿移数据
	//DATA	普通IO		输入	P0.25	
	//分配引脚功能 普通IO
	LPC_PINCON->PINSEL0 &= ~(03ul << 0);	//PL  	P0.0
	LPC_PINCON->PINSEL3 &= ~(03ul << 26);	//SCK 	P1.29
	LPC_PINCON->PINSEL1 &= ~(03ul << 18);	//DATA 	P0.25
	//初始化IO口状态
	LPC_GPIO0->FIODIR |= (1 << 0);			//输出  PL
	LPC_GPIO1->FIODIR |= (1 << 29);			//输出  CLK
	LPC_GPIO0->FIODIR &= ~(1<< 25);			//输入	DATA
}

/*************************************************************
函数名称：write_cd4051
函数参数：	dat要写入的数据
函数返回：无
函数功能：读取串行输入的数据
其他解释：读取到的数据
**************************************************************/
void write_cd4051(uint8_t dat)
{
	if((dat <= 8)&&(dat >= 1))				//做个判断
	{
		LPC_GPIO0->FIOCLR |= ~dat;			//先取反把其他的几位设为低，此处未完善，具体IO不知所以没有位移
		LPC_GPIO0->FIOSET |= dat;
	}
}
